Computer users have traditionally entered text into word processors through a keyboard and mouse. In recent years, however, word processors have become more sophisticated by allowing users to enter text into them through other input methods, such as speech or handwriting. Although a computer cannot always interpret such input with complete accuracy, a computer can generate a list of text alternatives for the input. Furthermore, the computer can often assign to each alternative a probability that the alternative is the one the user intended. Input that produces such probabilistic results is called “stochastic input,” while input that can be accurately determined, such as typed text, is called “non-stochastic input.”
Typically, text produced in a word processor from stochastic input must be heavily edited by the user in order to produce the text intended by the user when he or she created the stochastic input. The editing process has been simplified by allowing the user to select text created from stochastic data and request alternatives for the text selection. Stochastic input methods are generally capable of providing alternatives besides their initial guess for a given input. In response, the computer can provide the user with alternatives for the text selection through a graphical user interface. If the user chooses one of the alternatives, the computer replaces the text selection with the selected alternative. For example, if the user of a dictation system dictates the word “teach”, the system might recognize this word as “beach”. However, through a user initiated action, the speech recognition system may display other alternatives for the user's dictation—hopefully including the word the user actually dictated, namely “teach”.
A problem with such systems is that the stochastic input methods often generate so many additional candidates that the user is unlikely to be willing to read through them all. As a result, it is important that the user be able to filter the list in order to more easily determine whether the list contains the word desired by the user. Prior systems, such as those often associated with spell checking programs, allow users to browse a candidate list of alternative words by entering a graphical user interface and scrolling through the candidate list. If the user finds the desired word on the list, the user may select the desired word and then close the user interface.
Some systems provide the user via the user interface a search capability where the user may type characters comprising the word the user wanted in order to determine whether the word is present on the list or whether the word is in the dictionary of words available to the user's system. However, users often are unlikely to make the investment of typing into the user interface if their typing will be lost if the word they are looking for is not on the alternative list.
Accordingly, there is a need in the art for a method and system for allowing users to filter a candidate list of alternative replacement words by typing directly into the document rather than reading the entire list in search of the desired word.
There is also a need for a method and system for allowing the user to keep the text the user has typed or dictated to filter the list where no matching word is found on the candidate list rather than require the user to close the user interface and retype or dictate the word into the document after determining the desired word is not on the list.
There is further a need for providing the user a tip as to the best candidate on the list that matches the characters the user has typed in order to filter the candidate list.
There is still a further need in the art for a method and system for allowing the user to select a word from the candidate list or accept a tip as to the best word on the candidate list and have that word inserted directly into the document being edited by the user without requiring the user to close the user interface before continuing to input text into the document.